package zhanglu.family.socket.textline.factory.impl;

import zhanglu.family.socket.textline.busclient.BusTCPClient;
import zhanglu.family.socket.textline.factory.INetSocketFactory;
import zhanglu.family.socket.textline.server.BaseTCPServer;
import zhanglu.family.socket.textline.syncclient.SyncTcpClient;

/**
 * 获取客户端以及服务端的工厂
 * 
 * @author zhanglu
 * @date 2017年4月14日
 */
public class NetSocketFactory implements INetSocketFactory {

    /**
     * 获取同步通信客户端对象（非消息总线）
     * 
     * @param ip
     *            服务端ip
     * @param port
     *            服务端端口
     * @return 返回同步客户端对象
     */
    @Override
    public SyncTcpClient getSyncTcpClient(String ip, int port) {
        return new SyncTcpClient(ip, port);
    }

    /**
     * 获取总线客户端对象
     * 
     * @param ip
     *            服务端ip
     * @param port
     *            服务端端口
     * @return 总线客户端对象
     */
    @Override
    public BusTCPClient getBusTCPClient(String ip, int port) {
        return new BusTCPClient(ip, port);
    }

    /**
     * 获取服务端对象
     */
    @Override
    public BaseTCPServer getBaseTCPServer(int port) {
        return new BaseTCPServer(port);
    }
}
